Tengo una prueba de botón de opción múltiple. Quiero obtener todas las respuestas correctas e imprimirlas. Las respuestas correctas están marcadas value="true" en html. Otras respuestas tienen un valor diferente. ¿Cómo puedo recorrer para obtener el texto de todas las respuestas correctas usando javascript o PHP? Ejemplo:
<span class='mlw_qmn_question_number'>1. </span> <span class='mlw_qmn_question '>Roberta _____ from Canada.</span> <div class='qmn_radio_answers mlwRequiredRadio'> <div class='qmn_mc_answer_wrap' id='question21-are'> <input type='radio' class='qmn_quiz_radio' name='question21' id='question21_1' value='are' /> <label for='question21_1'>are</label> </div> <div class='qmn_mc_answer_wrap' id='question21-is'> <input type='radio' class='qmn_quiz_radio' name='question21' id='question21_2' value='true' /> <label for='question21_2'>is</label> </div> <div class='qmn_mc_answer_wrap' id='question21-am'> <input type='radio' class='qmn_quiz_radio' name='question21' id='question21_3' value='am' /> <label for='question21_3'>am</label> </div> <div class='qmn_mc_answer_wrap' id='question21-be'> <input type='radio' class='qmn_quiz_radio' name='question21' id='question21_4' value='be' /> <label for='question21_4'>be</label> </div> <input type='radio' style='display: none;' name='question21' id='question21_none' checked='checked' value='No Answer Provided' /> </div>En JavaScript con querySelectorAll , querySelector y Array.prototype.map . Primero encuentre todas las entradas con querySelectorAll . Luego use map con querySelector para encontrar la etiqueta correspondiente para cada entrada y cree una matriz de etiquetas. Luego asigne las etiquetas a su contenido.
const inputs = document.querySelectorAll('input[value=true]'); const labels = Array.prototype.map.call(inputs, input => document.querySelector(`label[for=${input.id}]`)); console.log(Array.prototype.map.call(labels, label => label.innerHTML)); <span class='mlw_qmn_question_number'>1. </span><span class='mlw_qmn_question '>Roberta _____ from Canada.</span> <div class='qmn_radio_answers mlwRequiredRadio'> <div class='qmn_mc_answer_wrap' id='question21-are'><input type='radio' class='qmn_quiz_radio' name='question21' id='question21_1' value='are' /> <label for='question21_1'>are</label></div> <div class='qmn_mc_answer_wrap' id='question21-is'><input type='radio' class='qmn_quiz_radio' name='question21' id='question21_2' value='true' /> <label for='question21_2'>is</label></div> <div class='qmn_mc_answer_wrap' id='question21-am'><input type='radio' class='qmn_quiz_radio' name='question21' id='question21_3' value='am' /> <label for='question21_3'>am</label></div> <div class='qmn_mc_answer_wrap' id='question21-be'><input type='radio' class='qmn_quiz_radio' name='question21' id='question21_4' value='be' /> <label for='question21_4'>be</label></div><input type='radio' style='display: none;' name='question21' id='question21_none' checked='checked' value='No Answer Provided' /> </div>